Computer networks can be classified according to: the scale of the network; the hardware technology that is used to connect the individual devices in the network; the network topology upon which the network is based; the communications protocol that is being used on the network; or the functional relationships which exist between the elements of the network, e.g., active networking, client-server and peer-to-peer architectures. Some peer-to-peer computer networks operate transiently over the Internet, enabling an interconnected group of computer users operating with the same networking software application to connect with each other and directly access each other's hard drive files. The peer-to-peer communication model uses diversified connectivity between participants in the network.
In typical peer-to-peer computer networks, all network participants provide resources, including bandwidth, storage space and computing power. Peer-to-peer computer networks use the cumulative bandwidth of network participants rather than conventional centralized resources to provide the core value to a service or application. Peers in the network can download data without relying on a centralized index server. Peer-to-peer computer networks can be constructed as overlay networks built on top of the Internet. Overlay networks can be configured to permit routing messages to destinations without a specified Internet Protocol (“IP”) address and to control the sequence of overlay network nodes a message traverses before reaching its destination. The nodes in a network are connection points, either redistribution points or end points, for data transmission. Peers participating in the peer-to-peer network act as nodes in the overlay network. In peer-to-peer architectures, any two nodes that know each other can be linked together through the network.